const modules = require.context('./', false, /^\.\/r.*\.js$/)
let ob = {}
modules.keys().forEach(path =>{
  ob = {
    ...ob,
    ...modules(path)
  }
})

const regexp = {
  "fmPhone": /^((0\d{2,3}-\d{7,8})|(1[3456789]\d{9}))$/, // 固定电话号码和手机号码
  "number": /^\d+$|^\d+[.]?\d+$/, // 数字 1.2 1.0 1 2 .1 0.1 都可 不能为负数
  "pInteger": /^((?!0)\d{1,9})$/, // 正整数 1、2、3等
  "password": /^(?=.*\d)(?=.*[A-Za-z])[\x00-\xff]{6,18}$/, // 账号密码
  "phone": /^1[3|4|5|6|7|8][0-9]{9}$/, // 手机号
  "email": /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/, // 邮箱
  "IDCard": /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/, // 身份证
  ...ob
}

// 返回null代表正确，有值代表错误
export default function(type, value) {
  return typeof regexp[type] === 'object' ? (regexp[type].test(value) ? null : '错误' ) : regexp[type](value)
}
